Report generated on 23-Jul-2024 at 10:28:48 by pytest-html v3.1.1
62 tests ran in 1059.53 seconds.
(Un)check the boxes to filter the results.
51 passed, 1 skipped, 11 failed, 8 errors, 0 expected failures, 0 unexpected passes, 0 rerun| Result | Test | Duration | Links |
|---|---|---|---|
| No results found. Try to check the filters | |||
| Error | tests/devhub/test_addon_edit.py::test_set_addon_invisible_tc_id_c4371[Desktop]::setup | 43.39 | Driver Log URL HTML |
|
selenium = <selenium.webdriver.firefox.webdriver.WebDriver (session="5b64937e-706e-4c4d-8775-ad9402b26f7c")>, base_url = 'https://addons-dev.allizom.org', session_auth = None request = <SubRequest 'selenium' for <Function test_set_addon_invisible_tc_id_c4371[Desktop]>> @pytest.fixture( scope="function", params=[DESKTOP], ids=["Desktop"], ) def selenium(selenium, base_url, session_auth, request): """Fixture to set a custom resolution for tests running on Desktop and handle browser sessions when needed""" selenium.set_window_size(*request.param) # establishing actions based on markers create_session = request.node.get_closest_marker("create_session") login = request.node.get_closest_marker("login") clear_session = request.node.get_closest_marker("clear_session") # this is used when we want to open an AMO page with a sessionid # cookie (i.e. a logged-in user) already set if create_session: # need to set the url context if we want to apply a cookie # in order to avoid InvalidCookieDomainException error selenium.get(base_url) # set the sessionid cookie selenium.add_cookie( { "name": "sessionid", "value": session_auth, } ) # this is used when we want to start the browser with a normal login # mostly used for the scope of getting the session cookie and storing it for later use if login: home = Home(selenium, base_url).open().wait_for_page_to_load() home.header.click_login() home.wait.until( EC.visibility_of_element_located((By.NAME, "email")), message=f"FxA email input field was not displayed in {selenium.current_url}", ) user = login.args[0] > Login(selenium, base_url).account(user) tests/conftest.py:132: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ pages/desktop/frontend/login.py:88: in account self.fxa_login( pages/desktop/frontend/login.py:189: in fxa_login self.wait.until(EC.visibility_of_element_located(self._2fa_input_locator)) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <selenium.webdriver.support.wait.WebDriverWait (session="5b64937e-706e-4c4d-8775-ad9402b26f7c")>, method = <function visibility_of_element_located.<locals>._predicate at 0x1057e8b80>, message = '' def until(self, method, message: str = ""): """Calls the method provided with the driver as an argument until the \ return value does not evaluate to ``False``. :param method: callable(WebDriver) :param message: optional message for :exc:`TimeoutException` :returns: the result of the last call to `method` :raises: :exc:`selenium.common.exceptions.TimeoutException` if timeout occurs """ screen = None stacktrace = None end_time = time.monotonic() + self._timeout while True: try: value = method(self._driver) if value: return value except self._ignored_exceptions as exc: screen = getattr(exc, 'screen', None) stacktrace = getattr(exc, 'stacktrace', None) time.sleep(self._poll) if time.monotonic() > end_time: break > raise TimeoutException(message, screen, stacktrace) E selenium.common.exceptions.TimeoutException: Message: E Stacktrace: E RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8 E WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:193:5 E NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:511:5 E dom.find/</<@chrome://remote/content/shared/DOM.sys.mjs:136:16 venv/lib/python3.11/site-packages/selenium/webdriver/support/wait.py:90: TimeoutException -----------------------------Captured stdout setup------------------------------ The "click continue button" event occurred. | |||
| Error | tests/devhub/test_addon_validate.py::test_validate_addon_listed[Desktop]::setup | 41.80 | Driver Log URL HTML |
|
selenium = <selenium.webdriver.firefox.webdriver.WebDriver (session="e0b9b867-9e1f-4a7d-831b-931222139ed7")>, base_url = 'https://addons-dev.allizom.org', session_auth = None request = <SubRequest 'selenium' for <Function test_validate_addon_listed[Desktop]>> @pytest.fixture( scope="function", params=[DESKTOP], ids=["Desktop"], ) def selenium(selenium, base_url, session_auth, request): """Fixture to set a custom resolution for tests running on Desktop and handle browser sessions when needed""" selenium.set_window_size(*request.param) # establishing actions based on markers create_session = request.node.get_closest_marker("create_session") login = request.node.get_closest_marker("login") clear_session = request.node.get_closest_marker("clear_session") # this is used when we want to open an AMO page with a sessionid # cookie (i.e. a logged-in user) already set if create_session: # need to set the url context if we want to apply a cookie # in order to avoid InvalidCookieDomainException error selenium.get(base_url) # set the sessionid cookie selenium.add_cookie( { "name": "sessionid", "value": session_auth, } ) # this is used when we want to start the browser with a normal login # mostly used for the scope of getting the session cookie and storing it for later use if login: home = Home(selenium, base_url).open().wait_for_page_to_load() home.header.click_login() home.wait.until( EC.visibility_of_element_located((By.NAME, "email")), message=f"FxA email input field was not displayed in {selenium.current_url}", ) user = login.args[0] > Login(selenium, base_url).account(user) tests/conftest.py:132: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ pages/desktop/frontend/login.py:88: in account self.fxa_login( pages/desktop/frontend/login.py:189: in fxa_login self.wait.until(EC.visibility_of_element_located(self._2fa_input_locator)) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <selenium.webdriver.support.wait.WebDriverWait (session="e0b9b867-9e1f-4a7d-831b-931222139ed7")>, method = <function visibility_of_element_located.<locals>._predicate at 0x10584c2c0>, message = '' def until(self, method, message: str = ""): """Calls the method provided with the driver as an argument until the \ return value does not evaluate to ``False``. :param method: callable(WebDriver) :param message: optional message for :exc:`TimeoutException` :returns: the result of the last call to `method` :raises: :exc:`selenium.common.exceptions.TimeoutException` if timeout occurs """ screen = None stacktrace = None end_time = time.monotonic() + self._timeout while True: try: value = method(self._driver) if value: return value except self._ignored_exceptions as exc: screen = getattr(exc, 'screen', None) stacktrace = getattr(exc, 'stacktrace', None) time.sleep(self._poll) if time.monotonic() > end_time: break > raise TimeoutException(message, screen, stacktrace) E selenium.common.exceptions.TimeoutException: Message: E Stacktrace: E RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8 E WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:193:5 E NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:511:5 E dom.find/</<@chrome://remote/content/shared/DOM.sys.mjs:136:16 venv/lib/python3.11/site-packages/selenium/webdriver/support/wait.py:90: TimeoutException -----------------------------Captured stdout setup------------------------------ The "click continue button" event occurred. | |||
| Error | tests/devhub/test_addon_validate.py::test_validate_addon_unlisted[Desktop]::setup | 43.16 | Driver Log URL HTML |
|
selenium = <selenium.webdriver.firefox.webdriver.WebDriver (session="ced43fd2-4295-4e60-8ef7-52b78ad68790")>, base_url = 'https://addons-dev.allizom.org', session_auth = None request = <SubRequest 'selenium' for <Function test_validate_addon_unlisted[Desktop]>> @pytest.fixture( scope="function", params=[DESKTOP], ids=["Desktop"], ) def selenium(selenium, base_url, session_auth, request): """Fixture to set a custom resolution for tests running on Desktop and handle browser sessions when needed""" selenium.set_window_size(*request.param) # establishing actions based on markers create_session = request.node.get_closest_marker("create_session") login = request.node.get_closest_marker("login") clear_session = request.node.get_closest_marker("clear_session") # this is used when we want to open an AMO page with a sessionid # cookie (i.e. a logged-in user) already set if create_session: # need to set the url context if we want to apply a cookie # in order to avoid InvalidCookieDomainException error selenium.get(base_url) # set the sessionid cookie selenium.add_cookie( { "name": "sessionid", "value": session_auth, } ) # this is used when we want to start the browser with a normal login # mostly used for the scope of getting the session cookie and storing it for later use if login: home = Home(selenium, base_url).open().wait_for_page_to_load() home.header.click_login() home.wait.until( EC.visibility_of_element_located((By.NAME, "email")), message=f"FxA email input field was not displayed in {selenium.current_url}", ) user = login.args[0] > Login(selenium, base_url).account(user) tests/conftest.py:132: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ pages/desktop/frontend/login.py:88: in account self.fxa_login( pages/desktop/frontend/login.py:189: in fxa_login self.wait.until(EC.visibility_of_element_located(self._2fa_input_locator)) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <selenium.webdriver.support.wait.WebDriverWait (session="ced43fd2-4295-4e60-8ef7-52b78ad68790")>, method = <function visibility_of_element_located.<locals>._predicate at 0x10584f240>, message = '' def until(self, method, message: str = ""): """Calls the method provided with the driver as an argument until the \ return value does not evaluate to ``False``. :param method: callable(WebDriver) :param message: optional message for :exc:`TimeoutException` :returns: the result of the last call to `method` :raises: :exc:`selenium.common.exceptions.TimeoutException` if timeout occurs """ screen = None stacktrace = None end_time = time.monotonic() + self._timeout while True: try: value = method(self._driver) if value: return value except self._ignored_exceptions as exc: screen = getattr(exc, 'screen', None) stacktrace = getattr(exc, 'stacktrace', None) time.sleep(self._poll) if time.monotonic() > end_time: break > raise TimeoutException(message, screen, stacktrace) E selenium.common.exceptions.TimeoutException: Message: E Stacktrace: E RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8 E WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:193:5 E NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:511:5 E dom.find/</<@chrome://remote/content/shared/DOM.sys.mjs:136:16 venv/lib/python3.11/site-packages/selenium/webdriver/support/wait.py:90: TimeoutException -----------------------------Captured stdout setup------------------------------ The "click continue button" event occurred. | |||
| Error | tests/devhub/test_addon_validate.py::test_validate_unlisted_addon_option_no_manifest_found[Desktop]::setup | 43.16 | Driver Log URL HTML |
|
selenium = <selenium.webdriver.firefox.webdriver.WebDriver (session="2c5c2c9a-2c14-472d-8dca-fcc53a5acc77")>, base_url = 'https://addons-dev.allizom.org', session_auth = None request = <SubRequest 'selenium' for <Function test_validate_unlisted_addon_option_no_manifest_found[Desktop]>> @pytest.fixture( scope="function", params=[DESKTOP], ids=["Desktop"], ) def selenium(selenium, base_url, session_auth, request): """Fixture to set a custom resolution for tests running on Desktop and handle browser sessions when needed""" selenium.set_window_size(*request.param) # establishing actions based on markers create_session = request.node.get_closest_marker("create_session") login = request.node.get_closest_marker("login") clear_session = request.node.get_closest_marker("clear_session") # this is used when we want to open an AMO page with a sessionid # cookie (i.e. a logged-in user) already set if create_session: # need to set the url context if we want to apply a cookie # in order to avoid InvalidCookieDomainException error selenium.get(base_url) # set the sessionid cookie selenium.add_cookie( { "name": "sessionid", "value": session_auth, } ) # this is used when we want to start the browser with a normal login # mostly used for the scope of getting the session cookie and storing it for later use if login: home = Home(selenium, base_url).open().wait_for_page_to_load() home.header.click_login() home.wait.until( EC.visibility_of_element_located((By.NAME, "email")), message=f"FxA email input field was not displayed in {selenium.current_url}", ) user = login.args[0] > Login(selenium, base_url).account(user) tests/conftest.py:132: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ pages/desktop/frontend/login.py:88: in account self.fxa_login( pages/desktop/frontend/login.py:189: in fxa_login self.wait.until(EC.visibility_of_element_located(self._2fa_input_locator)) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <selenium.webdriver.support.wait.WebDriverWait (session="2c5c2c9a-2c14-472d-8dca-fcc53a5acc77")>, method = <function visibility_of_element_located.<locals>._predicate at 0x10584e840>, message = '' def until(self, method, message: str = ""): """Calls the method provided with the driver as an argument until the \ return value does not evaluate to ``False``. :param method: callable(WebDriver) :param message: optional message for :exc:`TimeoutException` :returns: the result of the last call to `method` :raises: :exc:`selenium.common.exceptions.TimeoutException` if timeout occurs """ screen = None stacktrace = None end_time = time.monotonic() + self._timeout while True: try: value = method(self._driver) if value: return value except self._ignored_exceptions as exc: screen = getattr(exc, 'screen', None) stacktrace = getattr(exc, 'stacktrace', None) time.sleep(self._poll) if time.monotonic() > end_time: break > raise TimeoutException(message, screen, stacktrace) E selenium.common.exceptions.TimeoutException: Message: E Stacktrace: E RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8 E WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:193:5 E NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:511:5 E dom.find/</<@chrome://remote/content/shared/DOM.sys.mjs:136:16 venv/lib/python3.11/site-packages/selenium/webdriver/support/wait.py:90: TimeoutException -----------------------------Captured stdout setup------------------------------ The "click continue button" event occurred. | |||
| Error | tests/devhub/test_addon_validate.py::test_validate_unlisted_addon_option_unsupported_format[Desktop]::setup | 43.88 | Driver Log URL HTML |
|
selenium = <selenium.webdriver.firefox.webdriver.WebDriver (session="6d668526-3f53-47dd-ae73-f6afa8dce0b7")>, base_url = 'https://addons-dev.allizom.org', session_auth = None request = <SubRequest 'selenium' for <Function test_validate_unlisted_addon_option_unsupported_format[Desktop]>> @pytest.fixture( scope="function", params=[DESKTOP], ids=["Desktop"], ) def selenium(selenium, base_url, session_auth, request): """Fixture to set a custom resolution for tests running on Desktop and handle browser sessions when needed""" selenium.set_window_size(*request.param) # establishing actions based on markers create_session = request.node.get_closest_marker("create_session") login = request.node.get_closest_marker("login") clear_session = request.node.get_closest_marker("clear_session") # this is used when we want to open an AMO page with a sessionid # cookie (i.e. a logged-in user) already set if create_session: # need to set the url context if we want to apply a cookie # in order to avoid InvalidCookieDomainException error selenium.get(base_url) # set the sessionid cookie selenium.add_cookie( { "name": "sessionid", "value": session_auth, } ) # this is used when we want to start the browser with a normal login # mostly used for the scope of getting the session cookie and storing it for later use if login: home = Home(selenium, base_url).open().wait_for_page_to_load() home.header.click_login() home.wait.until( EC.visibility_of_element_located((By.NAME, "email")), message=f"FxA email input field was not displayed in {selenium.current_url}", ) user = login.args[0] > Login(selenium, base_url).account(user) tests/conftest.py:132: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ pages/desktop/frontend/login.py:88: in account self.fxa_login( pages/desktop/frontend/login.py:189: in fxa_login self.wait.until(EC.visibility_of_element_located(self._2fa_input_locator)) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <selenium.webdriver.support.wait.WebDriverWait (session="6d668526-3f53-47dd-ae73-f6afa8dce0b7")>, method = <function visibility_of_element_located.<locals>._predicate at 0x1058dcae0>, message = '' def until(self, method, message: str = ""): """Calls the method provided with the driver as an argument until the \ return value does not evaluate to ``False``. :param method: callable(WebDriver) :param message: optional message for :exc:`TimeoutException` :returns: the result of the last call to `method` :raises: :exc:`selenium.common.exceptions.TimeoutException` if timeout occurs """ screen = None stacktrace = None end_time = time.monotonic() + self._timeout while True: try: value = method(self._driver) if value: return value except self._ignored_exceptions as exc: screen = getattr(exc, 'screen', None) stacktrace = getattr(exc, 'stacktrace', None) time.sleep(self._poll) if time.monotonic() > end_time: break > raise TimeoutException(message, screen, stacktrace) E selenium.common.exceptions.TimeoutException: Message: E Stacktrace: E RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8 E WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:193:5 E NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:511:5 E dom.find/</<@chrome://remote/content/shared/DOM.sys.mjs:136:16 venv/lib/python3.11/site-packages/selenium/webdriver/support/wait.py:90: TimeoutException -----------------------------Captured stdout setup------------------------------ The "click continue button" event occurred. | |||
| Error | tests/devhub/test_devhub_home.py::test_devhub_login[Desktop]::setup | 43.89 | Driver Log URL HTML |
|
selenium = <selenium.webdriver.firefox.webdriver.WebDriver (session="0203c9b5-c013-4a4b-88ac-eea167a7a5f8")>, base_url = 'https://addons-dev.allizom.org', session_auth = None request = <SubRequest 'selenium' for <Function test_devhub_login[Desktop]>> @pytest.fixture( scope="function", params=[DESKTOP], ids=["Desktop"], ) def selenium(selenium, base_url, session_auth, request): """Fixture to set a custom resolution for tests running on Desktop and handle browser sessions when needed""" selenium.set_window_size(*request.param) # establishing actions based on markers create_session = request.node.get_closest_marker("create_session") login = request.node.get_closest_marker("login") clear_session = request.node.get_closest_marker("clear_session") # this is used when we want to open an AMO page with a sessionid # cookie (i.e. a logged-in user) already set if create_session: # need to set the url context if we want to apply a cookie # in order to avoid InvalidCookieDomainException error selenium.get(base_url) # set the sessionid cookie selenium.add_cookie( { "name": "sessionid", "value": session_auth, } ) # this is used when we want to start the browser with a normal login # mostly used for the scope of getting the session cookie and storing it for later use if login: home = Home(selenium, base_url).open().wait_for_page_to_load() home.header.click_login() home.wait.until( EC.visibility_of_element_located((By.NAME, "email")), message=f"FxA email input field was not displayed in {selenium.current_url}", ) user = login.args[0] > Login(selenium, base_url).account(user) tests/conftest.py:132: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ pages/desktop/frontend/login.py:88: in account self.fxa_login( pages/desktop/frontend/login.py:189: in fxa_login self.wait.until(EC.visibility_of_element_located(self._2fa_input_locator)) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <selenium.webdriver.support.wait.WebDriverWait (session="0203c9b5-c013-4a4b-88ac-eea167a7a5f8")>, method = <function visibility_of_element_located.<locals>._predicate at 0x1059f4e00>, message = '' def until(self, method, message: str = ""): """Calls the method provided with the driver as an argument until the \ return value does not evaluate to ``False``. :param method: callable(WebDriver) :param message: optional message for :exc:`TimeoutException` :returns: the result of the last call to `method` :raises: :exc:`selenium.common.exceptions.TimeoutException` if timeout occurs """ screen = None stacktrace = None end_time = time.monotonic() + self._timeout while True: try: value = method(self._driver) if value: return value except self._ignored_exceptions as exc: screen = getattr(exc, 'screen', None) stacktrace = getattr(exc, 'stacktrace', None) time.sleep(self._poll) if time.monotonic() > end_time: break > raise TimeoutException(message, screen, stacktrace) E selenium.common.exceptions.TimeoutException: Message: E Stacktrace: E RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8 E WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:193:5 E NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:511:5 E dom.find/</<@chrome://remote/content/shared/DOM.sys.mjs:136:16 venv/lib/python3.11/site-packages/selenium/webdriver/support/wait.py:90: TimeoutException -----------------------------Captured stdout setup------------------------------ The "click continue button" event occurred. | |||
| Error | tests/devhub/test_devhub_home.py::test_devhub_click_my_addons_header_link[Desktop]::setup | 42.13 | Driver Log URL HTML |
|
selenium = <selenium.webdriver.firefox.webdriver.WebDriver (session="8becc048-acf7-4d88-ad64-4dcaed73a787")>, base_url = 'https://addons-dev.allizom.org', session_auth = None request = <SubRequest 'selenium' for <Function test_devhub_click_my_addons_header_link[Desktop]>> @pytest.fixture( scope="function", params=[DESKTOP], ids=["Desktop"], ) def selenium(selenium, base_url, session_auth, request): """Fixture to set a custom resolution for tests running on Desktop and handle browser sessions when needed""" selenium.set_window_size(*request.param) # establishing actions based on markers create_session = request.node.get_closest_marker("create_session") login = request.node.get_closest_marker("login") clear_session = request.node.get_closest_marker("clear_session") # this is used when we want to open an AMO page with a sessionid # cookie (i.e. a logged-in user) already set if create_session: # need to set the url context if we want to apply a cookie # in order to avoid InvalidCookieDomainException error selenium.get(base_url) # set the sessionid cookie selenium.add_cookie( { "name": "sessionid", "value": session_auth, } ) # this is used when we want to start the browser with a normal login # mostly used for the scope of getting the session cookie and storing it for later use if login: home = Home(selenium, base_url).open().wait_for_page_to_load() home.header.click_login() home.wait.until( EC.visibility_of_element_located((By.NAME, "email")), message=f"FxA email input field was not displayed in {selenium.current_url}", ) user = login.args[0] > Login(selenium, base_url).account(user) tests/conftest.py:132: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ pages/desktop/frontend/login.py:88: in account self.fxa_login( pages/desktop/frontend/login.py:189: in fxa_login self.wait.until(EC.visibility_of_element_located(self._2fa_input_locator)) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <selenium.webdriver.support.wait.WebDriverWait (session="8becc048-acf7-4d88-ad64-4dcaed73a787")>, method = <function visibility_of_element_located.<locals>._predicate at 0x1059f6a20>, message = '' def until(self, method, message: str = ""): """Calls the method provided with the driver as an argument until the \ return value does not evaluate to ``False``. :param method: callable(WebDriver) :param message: optional message for :exc:`TimeoutException` :returns: the result of the last call to `method` :raises: :exc:`selenium.common.exceptions.TimeoutException` if timeout occurs """ screen = None stacktrace = None end_time = time.monotonic() + self._timeout while True: try: value = method(self._driver) if value: return value except self._ignored_exceptions as exc: screen = getattr(exc, 'screen', None) stacktrace = getattr(exc, 'stacktrace', None) time.sleep(self._poll) if time.monotonic() > end_time: break > raise TimeoutException(message, screen, stacktrace) E selenium.common.exceptions.TimeoutException: Message: E Stacktrace: E RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8 E WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:193:5 E NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:511:5 E dom.find/</<@chrome://remote/content/shared/DOM.sys.mjs:136:16 venv/lib/python3.11/site-packages/selenium/webdriver/support/wait.py:90: TimeoutException -----------------------------Captured stdout setup------------------------------ The "click continue button" event occurred. | |||
| Error | tests/devhub/test_devhub_home.py::test_devhub_resources_write_some_code[Desktop]::setup | 43.82 | Driver Log URL HTML |
|
selenium = <selenium.webdriver.firefox.webdriver.WebDriver (session="aa30838e-7935-4a32-81f9-89d9e386f4bc")>, base_url = 'https://addons-dev.allizom.org', session_auth = None request = <SubRequest 'selenium' for <Function test_devhub_resources_write_some_code[Desktop]>> @pytest.fixture( scope="function", params=[DESKTOP], ids=["Desktop"], ) def selenium(selenium, base_url, session_auth, request): """Fixture to set a custom resolution for tests running on Desktop and handle browser sessions when needed""" selenium.set_window_size(*request.param) # establishing actions based on markers create_session = request.node.get_closest_marker("create_session") login = request.node.get_closest_marker("login") clear_session = request.node.get_closest_marker("clear_session") # this is used when we want to open an AMO page with a sessionid # cookie (i.e. a logged-in user) already set if create_session: # need to set the url context if we want to apply a cookie # in order to avoid InvalidCookieDomainException error selenium.get(base_url) # set the sessionid cookie selenium.add_cookie( { "name": "sessionid", "value": session_auth, } ) # this is used when we want to start the browser with a normal login # mostly used for the scope of getting the session cookie and storing it for later use if login: home = Home(selenium, base_url).open().wait_for_page_to_load() home.header.click_login() home.wait.until( EC.visibility_of_element_located((By.NAME, "email")), message=f"FxA email input field was not displayed in {selenium.current_url}", ) user = login.args[0] > Login(selenium, base_url).account(user) tests/conftest.py:132: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ pages/desktop/frontend/login.py:88: in account self.fxa_login( pages/desktop/frontend/login.py:189: in fxa_login self.wait.until(EC.visibility_of_element_located(self._2fa_input_locator)) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <selenium.webdriver.support.wait.WebDriverWait (session="aa30838e-7935-4a32-81f9-89d9e386f4bc")>, method = <function visibility_of_element_located.<locals>._predicate at 0x105c885e0>, message = '' def until(self, method, message: str = ""): """Calls the method provided with the driver as an argument until the \ return value does not evaluate to ``False``. :param method: callable(WebDriver) :param message: optional message for :exc:`TimeoutException` :returns: the result of the last call to `method` :raises: :exc:`selenium.common.exceptions.TimeoutException` if timeout occurs """ screen = None stacktrace = None end_time = time.monotonic() + self._timeout while True: try: value = method(self._driver) if value: return value except self._ignored_exceptions as exc: screen = getattr(exc, 'screen', None) stacktrace = getattr(exc, 'stacktrace', None) time.sleep(self._poll) if time.monotonic() > end_time: break > raise TimeoutException(message, screen, stacktrace) E selenium.common.exceptions.TimeoutException: Message: E Stacktrace: E RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8 E WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:193:5 E NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:511:5 E dom.find/</<@chrome://remote/content/shared/DOM.sys.mjs:136:16 venv/lib/python3.11/site-packages/selenium/webdriver/support/wait.py:90: TimeoutException -----------------------------Captured stdout setup------------------------------ The "click continue button" event occurred. | |||
| Failed | tests/devhub/test_addon_edit.py::test_disable_enable_version_tc_id_c159074[Desktop] | 16.77 | Driver Log URL HTML |
|
selenium = <selenium.webdriver.firefox.webdriver.WebDriver (session="c30e94ec-8177-4dc4-8511-01bf1c504081")>, base_url = 'https://addons-dev.allizom.org' variables = {'4mb_addon_slug': '4mb_addon_slug', 'addon_detail_guid': '{f2cd2fe0-0c62-40bd-8e28-2f4d7fc0ad43}', 'addon_detail_id':...dd-ons must comply with Mozilla’s Add-on Policies and are subject to manual review at any time after submission.', ...} wait = <[AttributeError("'function' object has no attribute 'session_id'") raised in repr()] WebDriverWait object at 0x1057bfe10> @pytest.mark.create_session("developer") def test_disable_enable_version_tc_id_c159074(selenium, base_url, variables, wait): """Check that developers cand disable and re-enable addon versions; This test works with an addon having a single version submitted and Approved""" selenium.get(f"{base_url}/developers/addon/disable_version_auto/versions") > manage_version = ManageVersions(selenium, base_url).wait_for_page_to_load() tests/devhub/test_addon_edit.py:48: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ pages/desktop/developers/manage_versions.py:67: in wait_for_page_to_load self.wait.until(EC.visibility_of_element_located(self._version_list_locator)) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <selenium.webdriver.support.wait.WebDriverWait (session="c30e94ec-8177-4dc4-8511-01bf1c504081")>, method = <function visibility_of_element_located.<locals>._predicate at 0x105823600>, message = '' def until(self, method, message: str = ""): """Calls the method provided with the driver as an argument until the \ return value does not evaluate to ``False``. :param method: callable(WebDriver) :param message: optional message for :exc:`TimeoutException` :returns: the result of the last call to `method` :raises: :exc:`selenium.common.exceptions.TimeoutException` if timeout occurs """ screen = None stacktrace = None end_time = time.monotonic() + self._timeout while True: try: value = method(self._driver) if value: return value except self._ignored_exceptions as exc: screen = getattr(exc, 'screen', None) stacktrace = getattr(exc, 'stacktrace', None) time.sleep(self._poll) if time.monotonic() > end_time: break > raise TimeoutException(message, screen, stacktrace) E selenium.common.exceptions.TimeoutException: Message: E Stacktrace: E RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8 E WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:193:5 E NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:511:5 E dom.find/</<@chrome://remote/content/shared/DOM.sys.mjs:136:16 venv/lib/python3.11/site-packages/selenium/webdriver/support/wait.py:90: TimeoutException | |||
| Failed | tests/devhub/test_addon_validate.py::test_validate_listed_addon_option_no_manifest_found[Desktop] | 37.22 | Driver Log URL HTML |
|
selenium = <selenium.webdriver.firefox.webdriver.WebDriver (session="55cbdd14-3610-43f7-a987-be9cbdb467d3")>, base_url = 'https://addons-dev.allizom.org' variables = {'4mb_addon_slug': '4mb_addon_slug', 'addon_detail_guid': '{f2cd2fe0-0c62-40bd-8e28-2f4d7fc0ad43}', 'addon_detail_id':...dd-ons must comply with Mozilla’s Add-on Policies and are subject to manual review at any time after submission.', ...} wait = <[AttributeError("'function' object has no attribute 'session_id'") raised in repr()] WebDriverWait object at 0x10593ced0> @pytest.mark.sanity @pytest.mark.create_session("developer") def test_validate_listed_addon_option_no_manifest_found( selenium, base_url, variables, wait ): DevHubHome(selenium, base_url).open().wait_for_page_to_load() """Go to Devhub Addon Validate page""" devhub_addon_validate = ( > DevhubAddonValidate(selenium, base_url).open().wait_for_page_to_load() ) tests/devhub/test_addon_validate.py:44: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ venv/lib/python3.11/site-packages/pypom/page.py:131: in open self.wait_for_page_to_load() pages/desktop/developers/devhub_addon_validate.py:43: in wait_for_page_to_load self.wait.until( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <selenium.webdriver.support.wait.WebDriverWait (session="55cbdd14-3610-43f7-a987-be9cbdb467d3")>, method = <function DevhubAddonValidate.wait_for_page_to_load.<locals>.<lambda> at 0x10584d6c0> message = '' def until(self, method, message: str = ""): """Calls the method provided with the driver as an argument until the \ return value does not evaluate to ``False``. :param method: callable(WebDriver) :param message: optional message for :exc:`TimeoutException` :returns: the result of the last call to `method` :raises: :exc:`selenium.common.exceptions.TimeoutException` if timeout occurs """ screen = None stacktrace = None end_time = time.monotonic() + self._timeout while True: try: value = method(self._driver) if value: return value except self._ignored_exceptions as exc: screen = getattr(exc, 'screen', None) stacktrace = getattr(exc, 'stacktrace', None) time.sleep(self._poll) if time.monotonic() > end_time: break > raise TimeoutException(message, screen, stacktrace) E selenium.common.exceptions.TimeoutException: Message: E Stacktrace: E RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8 E WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:193:5 E NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:511:5 E dom.find/</<@chrome://remote/content/shared/DOM.sys.mjs:136:16 venv/lib/python3.11/site-packages/selenium/webdriver/support/wait.py:90: TimeoutException | |||
| Failed | tests/devhub/test_addon_validate.py::test_validate_listed_addon_option_unsupported_format[Desktop] | 37.17 | Driver Log URL HTML |
|
selenium = <selenium.webdriver.firefox.webdriver.WebDriver (session="59f790a8-b71c-41ac-a114-7650cf0ba215")>, base_url = 'https://addons-dev.allizom.org' variables = {'4mb_addon_slug': '4mb_addon_slug', 'addon_detail_guid': '{f2cd2fe0-0c62-40bd-8e28-2f4d7fc0ad43}', 'addon_detail_id':...dd-ons must comply with Mozilla’s Add-on Policies and are subject to manual review at any time after submission.', ...} wait = <[AttributeError("'function' object has no attribute 'session_id'") raised in repr()] WebDriverWait object at 0x10593c910> @pytest.mark.sanity @pytest.mark.create_session("developer") def test_validate_listed_addon_option_unsupported_format( selenium, base_url, variables, wait ): DevHubHome(selenium, base_url).open().wait_for_page_to_load() """Go to Devhub Addon Validate page""" devhub_addon_validate = ( > DevhubAddonValidate(selenium, base_url).open().wait_for_page_to_load() ) tests/devhub/test_addon_validate.py:69: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ venv/lib/python3.11/site-packages/pypom/page.py:131: in open self.wait_for_page_to_load() pages/desktop/developers/devhub_addon_validate.py:43: in wait_for_page_to_load self.wait.until( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <selenium.webdriver.support.wait.WebDriverWait (session="59f790a8-b71c-41ac-a114-7650cf0ba215")>, method = <function DevhubAddonValidate.wait_for_page_to_load.<locals>.<lambda> at 0x10584dee0> message = '' def until(self, method, message: str = ""): """Calls the method provided with the driver as an argument until the \ return value does not evaluate to ``False``. :param method: callable(WebDriver) :param message: optional message for :exc:`TimeoutException` :returns: the result of the last call to `method` :raises: :exc:`selenium.common.exceptions.TimeoutException` if timeout occurs """ screen = None stacktrace = None end_time = time.monotonic() + self._timeout while True: try: value = method(self._driver) if value: return value except self._ignored_exceptions as exc: screen = getattr(exc, 'screen', None) stacktrace = getattr(exc, 'stacktrace', None) time.sleep(self._poll) if time.monotonic() > end_time: break > raise TimeoutException(message, screen, stacktrace) E selenium.common.exceptions.TimeoutException: Message: E Stacktrace: E RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8 E WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:193:5 E NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:511:5 E dom.find/</<@chrome://remote/content/shared/DOM.sys.mjs:136:16 venv/lib/python3.11/site-packages/selenium/webdriver/support/wait.py:90: TimeoutException | |||
| Failed | tests/devhub/test_devhub_home.py::test_devhub_click_header_profile_icon[Desktop] | 36.09 | Driver Log URL HTML |
|
selenium = <selenium.webdriver.firefox.webdriver.WebDriver (session="de16e983-a7bf-4417-abd3-966b5b5d838e")>, base_url = 'https://addons-dev.allizom.org' @pytest.mark.nondestructive @pytest.mark.create_session("developer") def test_devhub_click_header_profile_icon(selenium, base_url): page = DevHubHome(selenium, base_url).open().wait_for_page_to_load() > user_profile = page.click_user_profile_picture() tests/devhub/test_devhub_home.py:119: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ pages/desktop/developers/devhub_home.py:249: in click_user_profile_picture icon = self.wait.until( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <selenium.webdriver.support.wait.WebDriverWait (session="de16e983-a7bf-4417-abd3-966b5b5d838e")>, method = <function element_to_be_clickable.<locals>._predicate at 0x10571fe20>, message = '' def until(self, method, message: str = ""): """Calls the method provided with the driver as an argument until the \ return value does not evaluate to ``False``. :param method: callable(WebDriver) :param message: optional message for :exc:`TimeoutException` :returns: the result of the last call to `method` :raises: :exc:`selenium.common.exceptions.TimeoutException` if timeout occurs """ screen = None stacktrace = None end_time = time.monotonic() + self._timeout while True: try: value = method(self._driver) if value: return value except self._ignored_exceptions as exc: screen = getattr(exc, 'screen', None) stacktrace = getattr(exc, 'stacktrace', None) time.sleep(self._poll) if time.monotonic() > end_time: break > raise TimeoutException(message, screen, stacktrace) E selenium.common.exceptions.TimeoutException: Message: E Stacktrace: E RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8 E WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:193:5 E NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:511:5 E dom.find/</<@chrome://remote/content/shared/DOM.sys.mjs:136:16 venv/lib/python3.11/site-packages/selenium/webdriver/support/wait.py:90: TimeoutException | |||
| Failed | tests/devhub/test_devhub_home.py::test_devhub_my_addons_list_items[Desktop] | 5.61 | Driver Log URL HTML |
|
selenium = <selenium.webdriver.firefox.webdriver.WebDriver (session="614439de-9f33-43df-8b71-d2fcbbd814ef")>, base_url = 'https://addons-dev.allizom.org' wait = <[AttributeError("'function' object has no attribute 'session_id'") raised in repr()] WebDriverWait object at 0x1058d7010> @pytest.mark.nondestructive @pytest.mark.create_session("developer") def test_devhub_my_addons_list_items(selenium, base_url, wait): page = DevHubHome(selenium, base_url).open().wait_for_page_to_load() # check that logged-in users can see up to 3 latest addons they've submitted > assert len(page.my_addons_list) in range(1, 4) E assert 0 in range(1, 4) E + where 0 = len([]) E + where [] = <pages.desktop.developers.devhub_home.DevHubHome object at 0x1057f0350>.my_addons_list E + and range(1, 4) = range(1, 4) tests/devhub/test_devhub_home.py:156: AssertionError | |||
| Failed | tests/devhub/test_devhub_home.py::test_devhub_click_see_all_addons_link[Desktop] | 35.91 | Driver Log URL HTML |
|
selenium = <selenium.webdriver.firefox.webdriver.WebDriver (session="31ec62df-f6d2-400d-89d2-1ac85994bb87")>, base_url = 'https://addons-dev.allizom.org' wait = <[AttributeError("'function' object has no attribute 'session_id'") raised in repr()] WebDriverWait object at 0x105a05690> @pytest.mark.nondestructive @pytest.mark.create_session("developer") def test_devhub_click_see_all_addons_link(selenium, base_url, wait): page = DevHubHome(selenium, base_url).open().wait_for_page_to_load() > my_addons_page = page.click_see_all_addons_link() tests/devhub/test_devhub_home.py:187: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ pages/desktop/developers/devhub_home.py:289: in click_see_all_addons_link self.wait_for_element_to_be_clickable(self._submit_addon_button_locator) pages/desktop/base.py:46: in wait_for_element_to_be_clickable self.wait.until(EC.element_to_be_clickable(element)) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <selenium.webdriver.support.wait.WebDriverWait (session="31ec62df-f6d2-400d-89d2-1ac85994bb87")>, method = <function element_to_be_clickable.<locals>._predicate at 0x105c08cc0>, message = '' def until(self, method, message: str = ""): """Calls the method provided with the driver as an argument until the \ return value does not evaluate to ``False``. :param method: callable(WebDriver) :param message: optional message for :exc:`TimeoutException` :returns: the result of the last call to `method` :raises: :exc:`selenium.common.exceptions.TimeoutException` if timeout occurs """ screen = None stacktrace = None end_time = time.monotonic() + self._timeout while True: try: value = method(self._driver) if value: return value except self._ignored_exceptions as exc: screen = getattr(exc, 'screen', None) stacktrace = getattr(exc, 'stacktrace', None) time.sleep(self._poll) if time.monotonic() > end_time: break > raise TimeoutException(message, screen, stacktrace) E selenium.common.exceptions.TimeoutException: Message: E Stacktrace: E RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8 E WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:193:5 E NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:511:5 E dom.find/</<@chrome://remote/content/shared/DOM.sys.mjs:136:16 venv/lib/python3.11/site-packages/selenium/webdriver/support/wait.py:90: TimeoutException | |||
| Failed | tests/devhub/test_devhub_home.py::test_devhub_click_submit_new_addon_button_tc_id_c14882[Desktop] | 36.08 | Driver Log URL HTML |
|
selenium = <selenium.webdriver.firefox.webdriver.WebDriver (session="72d3351f-9be4-44a5-8772-e01a36d17d4c")>, base_url = 'https://addons-dev.allizom.org' wait = <[AttributeError("'function' object has no attribute 'session_id'") raised in repr()] WebDriverWait object at 0x105c50b90> @pytest.mark.nondestructive @pytest.mark.create_session("developer") def test_devhub_click_submit_new_addon_button_tc_id_c14882(selenium, base_url, wait): page = DevHubHome(selenium, base_url).open().wait_for_page_to_load() > distribution_page = page.click_submit_addon_button() tests/devhub/test_devhub_home.py:198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ pages/desktop/developers/devhub_home.py:294: in click_submit_addon_button self.wait_for_element_to_be_clickable(self._submit_addon_button_locator) pages/desktop/base.py:46: in wait_for_element_to_be_clickable self.wait.until(EC.element_to_be_clickable(element)) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <selenium.webdriver.support.wait.WebDriverWait (session="72d3351f-9be4-44a5-8772-e01a36d17d4c")>, method = <function element_to_be_clickable.<locals>._predicate at 0x1058de020>, message = '' def until(self, method, message: str = ""): """Calls the method provided with the driver as an argument until the \ return value does not evaluate to ``False``. :param method: callable(WebDriver) :param message: optional message for :exc:`TimeoutException` :returns: the result of the last call to `method` :raises: :exc:`selenium.common.exceptions.TimeoutException` if timeout occurs """ screen = None stacktrace = None end_time = time.monotonic() + self._timeout while True: try: value = method(self._driver) if value: return value except self._ignored_exceptions as exc: screen = getattr(exc, 'screen', None) stacktrace = getattr(exc, 'stacktrace', None) time.sleep(self._poll) if time.monotonic() > end_time: break > raise TimeoutException(message, screen, stacktrace) E selenium.common.exceptions.TimeoutException: Message: E Stacktrace: E RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8 E WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:193:5 E NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:511:5 E dom.find/</<@chrome://remote/content/shared/DOM.sys.mjs:136:16 venv/lib/python3.11/site-packages/selenium/webdriver/support/wait.py:90: TimeoutException | |||
| Failed | tests/devhub/test_devhub_home.py::test_devhub_click_submit_new_theme_button[Desktop] | 5.65 | Driver Log URL HTML |
|
selenium = <selenium.webdriver.firefox.webdriver.WebDriver (session="231d22ec-8c41-45dd-aa01-418470e51c55")>, base_url = 'https://addons-dev.allizom.org' wait = <[AttributeError("'function' object has no attribute 'session_id'") raised in repr()] WebDriverWait object at 0x105c34910> @pytest.mark.nondestructive @pytest.mark.create_session("developer") def test_devhub_click_submit_new_theme_button(selenium, base_url, wait): page = DevHubHome(selenium, base_url).open().wait_for_page_to_load() > distribution_page = page.click_submit_theme_button() tests/devhub/test_devhub_home.py:209: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ pages/desktop/developers/devhub_home.py:299: in click_submit_theme_button self.find_element(*self._submit_theme_button_locator).click() venv/lib/python3.11/site-packages/pypom/view.py:34: in find_element return self.driver_adapter.find_element(strategy, locator) venv/lib/python3.11/site-packages/pypom/selenium_driver.py:61: in find_element return self.driver.find_element(strategy, locator) venv/lib/python3.11/site-packages/selenium/webdriver/remote/webdriver.py:856: in find_element return self.execute(Command.FIND_ELEMENT, { venv/lib/python3.11/site-packages/selenium/webdriver/remote/webdriver.py:429: in execute self.error_handler.check_response(response) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <selenium.webdriver.remote.errorhandler.ErrorHandler object at 0x105c29190> response = {'status': 404, 'value': '{"value":{"error":"no such element","message":"Unable to locate element: .DevHub-MyAddons .B.../content/shared/webdriver/Errors.sys.mjs:511:5\\ndom.find/</<@chrome://remote/content/shared/DOM.sys.mjs:136:16\\n"}}'} def check_response(self, response: Dict[str, Any]) -> None: """ Checks that a JSON response from the WebDriver does not have an error. :Args: - response - The JSON response from the WebDriver server as a dictionary object. :Raises: If the response contains an error message. """ status = response.get('status', None) if not status or status == ErrorCode.SUCCESS: return value = None message = response.get("message", "") screen: str = response.get("screen", "") stacktrace = None if isinstance(status, int): value_json = response.get('value', None) if value_json and isinstance(value_json, str): import json try: value = json.loads(value_json) if len(value.keys()) == 1: value = value['value'] status = value.get('error', None) if not status: status = value.get("status", ErrorCode.UNKNOWN_ERROR) message = value.get("value") or value.get("message") if not isinstance(message, str): value = message message = message.get('message') else: message = value.get('message', None) except ValueError: pass exception_class: Type[WebDriverException] if status in ErrorCode.NO_SUCH_ELEMENT: exception_class = NoSuchElementException elif status in ErrorCode.NO_SUCH_FRAME: exception_class = NoSuchFrameException elif status in ErrorCode.NO_SUCH_SHADOW_ROOT: exception_class = NoSuchShadowRootException elif status in ErrorCode.NO_SUCH_WINDOW: exception_class = NoSuchWindowException elif status in ErrorCode.STALE_ELEMENT_REFERENCE: exception_class = StaleElementReferenceException elif status in ErrorCode.ELEMENT_NOT_VISIBLE: exception_class = ElementNotVisibleException elif status in ErrorCode.INVALID_ELEMENT_STATE: exception_class = InvalidElementStateException elif status in ErrorCode.INVALID_SELECTOR \ or status in ErrorCode.INVALID_XPATH_SELECTOR \ or status in ErrorCode.INVALID_XPATH_SELECTOR_RETURN_TYPER: exception_class = InvalidSelectorException elif status in ErrorCode.ELEMENT_IS_NOT_SELECTABLE: exception_class = ElementNotSelectableException elif status in ErrorCode.ELEMENT_NOT_INTERACTABLE: exception_class = ElementNotInteractableException elif status in ErrorCode.INVALID_COOKIE_DOMAIN: exception_class = InvalidCookieDomainException elif status in ErrorCode.UNABLE_TO_SET_COOKIE: exception_class = UnableToSetCookieException elif status in ErrorCode.TIMEOUT: exception_class = TimeoutException elif status in ErrorCode.SCRIPT_TIMEOUT: exception_class = TimeoutException elif status in ErrorCode.UNKNOWN_ERROR: exception_class = WebDriverException elif status in ErrorCode.UNEXPECTED_ALERT_OPEN: exception_class = UnexpectedAlertPresentException elif status in ErrorCode.NO_ALERT_OPEN: exception_class = NoAlertPresentException elif status in ErrorCode.IME_NOT_AVAILABLE: exception_class = ImeNotAvailableException elif status in ErrorCode.IME_ENGINE_ACTIVATION_FAILED: exception_class = ImeActivationFailedException elif status in ErrorCode.MOVE_TARGET_OUT_OF_BOUNDS: exception_class = MoveTargetOutOfBoundsException elif status in ErrorCode.JAVASCRIPT_ERROR: exception_class = JavascriptException elif status in ErrorCode.SESSION_NOT_CREATED: exception_class = SessionNotCreatedException elif status in ErrorCode.INVALID_ARGUMENT: exception_class = InvalidArgumentException elif status in ErrorCode.NO_SUCH_COOKIE: exception_class = NoSuchCookieException elif status in ErrorCode.UNABLE_TO_CAPTURE_SCREEN: exception_class = ScreenshotException elif status in ErrorCode.ELEMENT_CLICK_INTERCEPTED: exception_class = ElementClickInterceptedException elif status in ErrorCode.INSECURE_CERTIFICATE: exception_class = InsecureCertificateException elif status in ErrorCode.INVALID_COORDINATES: exception_class = InvalidCoordinatesException elif status in ErrorCode.INVALID_SESSION_ID: exception_class = InvalidSessionIdException elif status in ErrorCode.UNKNOWN_METHOD: exception_class = UnknownMethodException else: exception_class = WebDriverException if not value: value = response['value'] if isinstance(value, str): raise exception_class(value) if message == "" and 'message' in value: message = value['message'] screen = None # type: ignore[assignment] if 'screen' in value: screen = value['screen'] stacktrace = None st_value = value.get('stackTrace') or value.get('stacktrace') if st_value: if isinstance(st_value, str): stacktrace = st_value.split('\n') else: stacktrace = [] try: for frame in st_value: line = frame.get("lineNumber", "") file = frame.get("fileName", "<anonymous>") if line: file = f"{file}:{line}" meth = frame.get('methodName', '<anonymous>') if 'className' in frame: meth = "{}.{}".format(frame['className'], meth) msg = " at %s (%s)" msg = msg % (meth, file) stacktrace.append(msg) except TypeError: pass if exception_class == UnexpectedAlertPresentException: alert_text = None if 'data' in value: alert_text = value['data'].get('text') elif 'alert' in value: alert_text = value['alert'].get('text') raise exception_class(message, screen, stacktrace, alert_text) # type: ignore[call-arg] # mypy is not smart enough here > raise exception_class(message, screen, stacktrace) E selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: .DevHub-MyAddons .Button:nth-of-type(2) E Stacktrace: E RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8 E WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:193:5 E NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:511:5 E dom.find/</<@chrome://remote/content/shared/DOM.sys.mjs:136:16 venv/lib/python3.11/site-packages/selenium/webdriver/remote/errorhandler.py:243: NoSuchElementException | |||
| Failed | tests/devhub/test_devhub_home.py::test_devhub_resources_footer_tools_links_tc_id_C15072[Desktop] | 35.95 | Driver Log URL HTML |
|
selenium = <selenium.webdriver.firefox.webdriver.WebDriver (session="ddb25ef0-a70a-473e-8042-040ca7b4aa4e")>, base_url = 'https://addons-dev.allizom.org' variables = {'4mb_addon_slug': '4mb_addon_slug', 'addon_detail_guid': '{f2cd2fe0-0c62-40bd-8e28-2f4d7fc0ad43}', 'addon_detail_id':...dd-ons must comply with Mozilla’s Add-on Policies and are subject to manual review at any time after submission.', ...} @pytest.mark.nondestructive @pytest.mark.create_session("developer") def test_devhub_resources_footer_tools_links_tc_id_C15072(selenium, base_url, variables): page = DevHubHome(selenium, base_url).open().wait_for_page_to_load() > assert "Tools" in page.resources.tools_section_header tests/devhub/test_devhub_home.py:257: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ pages/desktop/developers/devhub_home.py:672: in tools_section_header self.wait.until( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <selenium.webdriver.support.wait.WebDriverWait (session="ddb25ef0-a70a-473e-8042-040ca7b4aa4e")>, method = <function visibility_of_element_located.<locals>._predicate at 0x1059f5f80>, message = '' def until(self, method, message: str = ""): """Calls the method provided with the driver as an argument until the \ return value does not evaluate to ``False``. :param method: callable(WebDriver) :param message: optional message for :exc:`TimeoutException` :returns: the result of the last call to `method` :raises: :exc:`selenium.common.exceptions.TimeoutException` if timeout occurs """ screen = None stacktrace = None end_time = time.monotonic() + self._timeout while True: try: value = method(self._driver) if value: return value except self._ignored_exceptions as exc: screen = getattr(exc, 'screen', None) stacktrace = getattr(exc, 'stacktrace', None) time.sleep(self._poll) if time.monotonic() > end_time: break > raise TimeoutException(message, screen, stacktrace) E selenium.common.exceptions.TimeoutException: Message: E Stacktrace: E RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8 E WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:193:5 E NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:511:5 E dom.find/</<@chrome://remote/content/shared/DOM.sys.mjs:136:16 venv/lib/python3.11/site-packages/selenium/webdriver/support/wait.py:90: TimeoutException | |||
| Failed | tests/devhub/test_devhub_home.py::test_devhub_resources_footer_promote_links_tc_id_C15072[Desktop] | 36.11 | Driver Log URL HTML |
|
selenium = <selenium.webdriver.firefox.webdriver.WebDriver (session="04302219-e2e3-49c6-8266-c42f88f7786f")>, base_url = 'https://addons-dev.allizom.org' variables = {'4mb_addon_slug': '4mb_addon_slug', 'addon_detail_guid': '{f2cd2fe0-0c62-40bd-8e28-2f4d7fc0ad43}', 'addon_detail_id':...dd-ons must comply with Mozilla’s Add-on Policies and are subject to manual review at any time after submission.', ...} @pytest.mark.nondestructive @pytest.mark.create_session("developer") def test_devhub_resources_footer_promote_links_tc_id_C15072(selenium, base_url, variables): page = DevHubHome(selenium, base_url).open().wait_for_page_to_load() > assert "Promote" in page.resources.promote_section_header tests/devhub/test_devhub_home.py:274: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ pages/desktop/developers/devhub_home.py:685: in promote_section_header self.wait.until( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <selenium.webdriver.support.wait.WebDriverWait (session="04302219-e2e3-49c6-8266-c42f88f7786f")>, method = <function visibility_of_element_located.<locals>._predicate at 0x1059f60c0>, message = '' def until(self, method, message: str = ""): """Calls the method provided with the driver as an argument until the \ return value does not evaluate to ``False``. :param method: callable(WebDriver) :param message: optional message for :exc:`TimeoutException` :returns: the result of the last call to `method` :raises: :exc:`selenium.common.exceptions.TimeoutException` if timeout occurs """ screen = None stacktrace = None end_time = time.monotonic() + self._timeout while True: try: value = method(self._driver) if value: return value except self._ignored_exceptions as exc: screen = getattr(exc, 'screen', None) stacktrace = getattr(exc, 'stacktrace', None) time.sleep(self._poll) if time.monotonic() > end_time: break > raise TimeoutException(message, screen, stacktrace) E selenium.common.exceptions.TimeoutException: Message: E Stacktrace: E RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8 E WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:193:5 E NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:511:5 E dom.find/</<@chrome://remote/content/shared/DOM.sys.mjs:136:16 venv/lib/python3.11/site-packages/selenium/webdriver/support/wait.py:90: TimeoutException | |||
| Failed | tests/devhub/test_devhub_home.py::test_devhub_logout_tc_id_c15075[Desktop] | 36.02 | Driver Log URL HTML |
|
selenium = <selenium.webdriver.firefox.webdriver.WebDriver (session="11501440-ef62-4167-9795-d1c221b0b64b")>, base_url = 'https://addons-dev.allizom.org' wait = <[AttributeError("'function' object has no attribute 'session_id'") raised in repr()] WebDriverWait object at 0x105fbf850> @pytest.mark.sanity @pytest.mark.nondestructive @pytest.mark.create_session("developer") def test_devhub_logout_tc_id_c15075(selenium, base_url, wait): page = DevHubHome(selenium, base_url).open().wait_for_page_to_load() # page.devhub_login("developer") > page.click_sign_out() tests/devhub/test_devhub_home.py:599: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ pages/desktop/developers/devhub_home.py:166: in click_sign_out self.sign_out_link.click() pages/desktop/developers/devhub_home.py:162: in sign_out_link self.wait_for_element_to_be_displayed(self._sign_out_link_locator) pages/desktop/base.py:42: in wait_for_element_to_be_displayed self.wait.until(EC.visibility_of_element_located(element)) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <selenium.webdriver.support.wait.WebDriverWait (session="11501440-ef62-4167-9795-d1c221b0b64b")>, method = <function visibility_of_element_located.<locals>._predicate at 0x105c882c0>, message = '' def until(self, method, message: str = ""): """Calls the method provided with the driver as an argument until the \ return value does not evaluate to ``False``. :param method: callable(WebDriver) :param message: optional message for :exc:`TimeoutException` :returns: the result of the last call to `method` :raises: :exc:`selenium.common.exceptions.TimeoutException` if timeout occurs """ screen = None stacktrace = None end_time = time.monotonic() + self._timeout while True: try: value = method(self._driver) if value: return value except self._ignored_exceptions as exc: screen = getattr(exc, 'screen', None) stacktrace = getattr(exc, 'stacktrace', None) time.sleep(self._poll) if time.monotonic() > end_time: break > raise TimeoutException(message, screen, stacktrace) E selenium.common.exceptions.TimeoutException: Message: E Stacktrace: E RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8 E WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:193:5 E NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:511:5 E dom.find/</<@chrome://remote/content/shared/DOM.sys.mjs:136:16 venv/lib/python3.11/site-packages/selenium/webdriver/support/wait.py:90: TimeoutException | |||
| Skipped | tests/devhub/test_devhub_home.py::test_verify_newsletter_signup_confirmation[Desktop] | 0.00 | |
|
('/Users/alexandru.schek/addons-release-tests/tests/devhub/test_devhub_home.py', 383, 'Skipped: Skipped until this issue is fixed: https://github.com/mozilla/addons-server/issues/21335') | |||
| Passed | tests/devhub/test_devhub_home.py::test_devhub_logo[Desktop] | 5.96 | |
|
No log output captured. | |||
| Passed | tests/devhub/test_devhub_home.py::test_click_extension_workshop[Desktop] | 6.94 | |
|
No log output captured. | |||
| Passed | tests/devhub/test_devhub_home.py::test_click_documentation[Desktop] | 6.08 | |
|
No log output captured. | |||
| Passed | tests/devhub/test_devhub_home.py::test_click_support[Desktop] | 7.49 | |
|
No log output captured. | |||
| Passed | tests/devhub/test_devhub_home.py::test_click_blog[Desktop] | 6.62 | |
|
No log output captured. | |||
| Passed | tests/devhub/test_devhub_home.py::test_devhub_page_overview[Desktop] | 6.78 | |
|
No log output captured. | |||
| Passed | tests/devhub/test_devhub_home.py::test_devhub_page_content[Desktop] | 5.61 | |
|
No log output captured. | |||
| Passed | tests/devhub/test_devhub_home.py::test_devhub_content_login_link[Desktop] | 6.59 | |
|
No log output captured. | |||
| Passed | tests/devhub/test_devhub_home.py::test_devhub_page_get_involved[Desktop] | 7.76 | |
|
No log output captured. | |||
| Passed | tests/devhub/test_devhub_home.py::test_devhub_logged_in_page_hero_banner_tc_id_C15072[Desktop] | 16.06 | |
|
------------------------------Captured stdout call------------------------------ The "click continue button" event occurred. | |||
| Passed | tests/devhub/test_devhub_home.py::test_devhub_my_addons_section_tc_id_C15072[Desktop] | 14.86 | |
|
------------------------------Captured stdout call------------------------------ The "click continue button" event occurred. | |||
| Passed | tests/devhub/test_devhub_home.py::test_devhub_my_addons_list_approval_status[Desktop] | 5.78 | |
|
No log output captured. | |||
| Passed | tests/devhub/test_devhub_home.py::test_devhub_click_first_theme_button[Desktop] | 18.02 | |
|
------------------------------Captured stdout call------------------------------ The "click continue button" event occurred. | |||
| Passed | tests/devhub/test_devhub_home.py::test_devhub_resources_footer_documentation_links_tc_id_C15072[Desktop] | 19.90 | |
|
------------------------------Captured stdout call------------------------------ The "click continue button" event occurred. | |||
| Passed | tests/devhub/test_devhub_home.py::test_devhub_resources_participate[Desktop] | 17.96 | |
|
------------------------------Captured stdout call------------------------------ The "click continue button" event occurred. | |||
| Passed | tests/devhub/test_devhub_home.py::test_page_connect_footer_twitter[Desktop-0-x.com] | 7.07 | |
|
No log output captured. | |||
| Passed | tests/devhub/test_devhub_home.py::test_page_connect_footer_twitter[Desktop-1-x.com] | 7.33 | |
|
No log output captured. | |||
| Passed | tests/devhub/test_devhub_home.py::test_page_connect_footer_more_links[Desktop-AMO Matrix channel] | 8.53 | |
|
No log output captured. | |||
| Passed | tests/devhub/test_devhub_home.py::test_page_connect_footer_more_links[Desktop-Mozilla Discourse] | 8.68 | |
|
No log output captured. | |||
| Passed | tests/devhub/test_devhub_home.py::test_connect_newsletter_section[Desktop] | 5.92 | |
|
No log output captured. | |||
| Passed | tests/devhub/test_devhub_home.py::test_devhub_mozilla_footer_link[Desktop] | 6.62 | |
|
No log output captured. | |||
| Passed | tests/devhub/test_devhub_home.py::test_devhub_addons_footer_links[Desktop-DevHub Footer - Addons section - About] | 6.30 | |
|
No log output captured. | |||
| Passed | tests/devhub/test_devhub_home.py::test_devhub_addons_footer_links[Desktop-DevHub Footer - Addons section - Blog] | 7.70 | |
|
No log output captured. | |||
| Passed | tests/devhub/test_devhub_home.py::test_devhub_addons_footer_links[Desktop-DevHub Footer - Addons section - Extension Workshop] | 6.60 | |
|
No log output captured. | |||
| Passed | tests/devhub/test_devhub_home.py::test_devhub_addons_footer_links[Desktop-DevHub Footer - Addons section - Developer Hub] | 5.82 | |
|
No log output captured. | |||
| Passed | tests/devhub/test_devhub_home.py::test_devhub_addons_footer_links[Desktop-DevHub Footer - Addons section - Developer Policies] | 6.10 | |
|
No log output captured. | |||
| Passed | tests/devhub/test_devhub_home.py::test_devhub_addons_footer_links[Desktop-DevHub Footer - Addons section - Community Blog] | 7.61 | |
|
No log output captured. | |||
| Passed | tests/devhub/test_devhub_home.py::test_devhub_addons_footer_links[Desktop-DevHub Footer - Addons section - Forum] | 9.36 | |
|
No log output captured. | |||
| Passed | tests/devhub/test_devhub_home.py::test_devhub_addons_footer_links[Desktop-DevHub Footer - Addons section - Report a bug] | 6.29 | |
|
No log output captured. | |||
| Passed | tests/devhub/test_devhub_home.py::test_devhub_addons_footer_links[Desktop-DevHub Footer - Addons section - Review Guide] | 6.19 | |
|
No log output captured. | |||
| Passed | tests/devhub/test_devhub_home.py::test_devhub_browsers_footer_links[Desktop-DevHub Footer - Browsers section - Desktop] | 6.06 | |
|
No log output captured. | |||
| Passed | tests/devhub/test_devhub_home.py::test_devhub_browsers_footer_links[Desktop-DevHub Footer - Browsers section - Mobile] | 5.93 | |
|
No log output captured. | |||
| Passed | tests/devhub/test_devhub_home.py::test_devhub_browsers_footer_links[Desktop-DevHub Footer - Browsers section - Enterprise] | 5.95 | |
|
No log output captured. | |||
| Passed | tests/devhub/test_devhub_home.py::test_devhub_products_footer_links[Desktop-DevHub Footer - Products section - Browsers] | 5.87 | |
|
No log output captured. | |||
| Passed | tests/devhub/test_devhub_home.py::test_devhub_products_footer_links[Desktop-DevHub Footer - Products section - VPN] | 5.95 | |
|
No log output captured. | |||
| Passed | tests/devhub/test_devhub_home.py::test_devhub_products_footer_links[Desktop-DevHub Footer - Products section - Relay] | 6.47 | |
|
No log output captured. | |||
| Passed | tests/devhub/test_devhub_home.py::test_devhub_products_footer_links[Desktop-DevHub Footer - Products section - Monitor] | 7.41 | |
|
No log output captured. | |||
| Passed | tests/devhub/test_devhub_home.py::test_devhub_products_footer_links[Desktop-DevHub Footer - Products section - Pocket] | 7.62 | |
|
No log output captured. | |||
| Passed | tests/devhub/test_devhub_home.py::test_devhub_social_footer_links[Desktop-DevHub Footer - Social section - Twitter] | 7.69 | |
|
No log output captured. | |||
| Passed | tests/devhub/test_devhub_home.py::test_devhub_social_footer_links[Desktop-DevHub Footer - Social section - Instagram] | 6.05 | |
|
No log output captured. | |||
| Passed | tests/devhub/test_devhub_home.py::test_devhub_social_footer_links[Desktop-DevHub Footer - Social section - YouTube] | 6.24 | |
|
No log output captured. | |||
| Passed | tests/devhub/test_devhub_home.py::test_devhub_legal_footer_links[Desktop-DevHub Footer - Legal section - Privacy] | 5.67 | |
|
No log output captured. | |||
| Passed | tests/devhub/test_devhub_home.py::test_devhub_legal_footer_links[Desktop-DevHub Footer - Legal section - Cookies] | 5.70 | |
|
No log output captured. | |||
| Passed | tests/devhub/test_devhub_home.py::test_devhub_legal_footer_links[Desktop-DevHub Footer - Legal section - Legal] | 5.79 | |
|
No log output captured. | |||
| Passed | tests/devhub/test_devhub_home.py::test_change_devhub_language[Desktop-DevHub French Translation] | 6.26 | |
|
No log output captured. | |||
| Passed | tests/devhub/test_devhub_home.py::test_change_devhub_language[Desktop-DevHub German Translation] | 6.20 | |
|
No log output captured. | |||
| Passed | tests/devhub/test_devhub_home.py::test_change_devhub_language[Desktop-DevHub Chinese Translation] | 6.32 | |
|
No log output captured. | |||
| Passed | tests/devhub/test_devhub_home.py::test_change_devhub_language[Desktop-DevHub Russian Translation] | 6.01 | |
|
No log output captured. | |||
| Passed | tests/devhub/test_devhub_home.py::test_change_devhub_language[Desktop-DevHub Hebrew Translation] | 6.56 | |
|
No log output captured. | |||
| Passed | tests/devhub/test_devhub_home.py::test_devhub_footer_copyright_message[Desktop-Legal] | 5.93 | |
|
No log output captured. | |||
| Passed | tests/devhub/test_devhub_home.py::test_devhub_footer_copyright_message[Desktop-Creative Commons License] | 5.77 | |
|
No log output captured. | |||